﻿// Copyright © 2012 onwards, Andrew Whewell
// All rights reserved.
//
// Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
//    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
//    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
//    * Neither the name of the author nor the names of the program's contributors may be used to endorse or promote products derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VirtualRadar.Library.ModeS
{
    /// <summary>
    /// A static class containing code that can convert altitude fields in Mode-S messages.
    /// </summary>
    static class ModeSAltitudeConversion
    {
        /// <summary>
        /// Calculates the altitude in 25' increments from a code formed of bits 20-25, 27 and 29-32 of the AC field (i.e. the AC field with the M and Q bits stripped out).
        /// </summary>
        /// <param name="acCode"></param>
        /// <returns></returns>
        public static int CalculateBinaryAltitude(int acCode)
        {
            return (acCode * 25) - 1000;
        }

        /// <summary>
        /// Looks up the Gillham altitude from a code formed of bits 20-25, 27 and 29-32 of the AC field (i.e. bits C1/A1/C2/A2/C4/A4/B1/B2/D2/B4/D4). Note
        /// that the code does not expect to be passed D1.
        /// </summary>
        /// <param name="acCode"></param>
        /// <returns></returns>
        /// <remarks>
        /// This implementation uses a lookup table. It takes more store but is 2 to 3 times faster than ordering the
        /// bits, splitting them into 500' and 100' increments, converting them from Gray values to binary and then
        /// adding the two parts together.
        /// </remarks>
        public static int? LookupGillhamAltitude(int acCode)
        {
            if(acCode < 64 || acCode > 1983) return (int?)null;
            return _LookupTable[acCode - _ACCodeToIndexOffsets[acCode / 64]];
        }

        /// <summary>
        /// An array of offsets that must be subtracted from the acCode to get the correct index into the lookup table.
        /// </summary>
        /// <remarks>
        /// The index into the table is the acCode / 64, rounding down.
        /// </remarks>
        private static int[] _ACCodeToIndexOffsets = new int[]
        {
            64,  64,  64, 128,
            128, 128, 128, 128,
            128, 192, 192, 256,
            256, 256, 256, 256,
            256, 256, 320, 320,
            384, 384, 448, 448,
            512, 512, 576, 576,
            640, 640, 704, 704,
        };

        /// <summary>
        /// The lookup table of AC codes to altitude.
        /// </summary>
        private static int[] _LookupTable = new int[]
        {
             -1200,  // index    0, acCode   64 (0x0040)
             62700,  // index    1, acCode   65 (0x0041)
              -300,  // index    2, acCode   66 (0x0042)
             61800,  // index    3, acCode   67 (0x0043)
            126700,  // index    4, acCode   68 (0x0044)
             62800,  // index    5, acCode   69 (0x0045)
            125800,  // index    6, acCode   70 (0x0046)
             63700,  // index    7, acCode   71 (0x0047)
               700,  // index    8, acCode   72 (0x0048)
             60800,  // index    9, acCode   73 (0x0049)
              -200,  // index   10, acCode   74 (0x004A)
             61700,  // index   11, acCode   75 (0x004B)
            124800,  // index   12, acCode   76 (0x004C)
             64700,  // index   13, acCode   77 (0x004D)
            125700,  // index   14, acCode   78 (0x004E)
             63800,  // index   15, acCode   79 (0x004F)
              2700,  // index   16, acCode   80 (0x0050)
             58800,  // index   17, acCode   81 (0x0051)
              1800,  // index   18, acCode   82 (0x0052)
             59700,  // index   19, acCode   83 (0x0053)
            122800,  // index   20, acCode   84 (0x0054)
             66700,  // index   21, acCode   85 (0x0055)
            123700,  // index   22, acCode   86 (0x0056)
             65800,  // index   23, acCode   87 (0x0057)
               800,  // index   24, acCode   88 (0x0058)
             60700,  // index   25, acCode   89 (0x0059)
              1700,  // index   26, acCode   90 (0x005A)
             59800,  // index   27, acCode   91 (0x005B)
            124700,  // index   28, acCode   92 (0x005C)
             64800,  // index   29, acCode   93 (0x005D)
            123800,  // index   30, acCode   94 (0x005E)
             65700,  // index   31, acCode   95 (0x005F)
              6700,  // index   32, acCode   96 (0x0060)
             54800,  // index   33, acCode   97 (0x0061)
              5800,  // index   34, acCode   98 (0x0062)
             55700,  // index   35, acCode   99 (0x0063)
            118800,  // index   36, acCode  100 (0x0064)
             70700,  // index   37, acCode  101 (0x0065)
            119700,  // index   38, acCode  102 (0x0066)
             69800,  // index   39, acCode  103 (0x0067)
              4800,  // index   40, acCode  104 (0x0068)
             56700,  // index   41, acCode  105 (0x0069)
              5700,  // index   42, acCode  106 (0x006A)
             55800,  // index   43, acCode  107 (0x006B)
            120700,  // index   44, acCode  108 (0x006C)
             68800,  // index   45, acCode  109 (0x006D)
            119800,  // index   46, acCode  110 (0x006E)
             69700,  // index   47, acCode  111 (0x006F)
              2800,  // index   48, acCode  112 (0x0070)
             58700,  // index   49, acCode  113 (0x0071)
              3700,  // index   50, acCode  114 (0x0072)
             57800,  // index   51, acCode  115 (0x0073)
            122700,  // index   52, acCode  116 (0x0074)
             66800,  // index   53, acCode  117 (0x0075)
            121800,  // index   54, acCode  118 (0x0076)
             67700,  // index   55, acCode  119 (0x0077)
              4700,  // index   56, acCode  120 (0x0078)
             56800,  // index   57, acCode  121 (0x0079)
              3800,  // index   58, acCode  122 (0x007A)
             57700,  // index   59, acCode  123 (0x007B)
            120800,  // index   60, acCode  124 (0x007C)
             68700,  // index   61, acCode  125 (0x007D)
            121700,  // index   62, acCode  126 (0x007E)
             67800,  // index   63, acCode  127 (0x007F)
             14700,  // index   64, acCode  192 (0x00C0)
             46800,  // index   65, acCode  193 (0x00C1)
             13800,  // index   66, acCode  194 (0x00C2)
             47700,  // index   67, acCode  195 (0x00C3)
            110800,  // index   68, acCode  196 (0x00C4)
             78700,  // index   69, acCode  197 (0x00C5)
            111700,  // index   70, acCode  198 (0x00C6)
             77800,  // index   71, acCode  199 (0x00C7)
             12800,  // index   72, acCode  200 (0x00C8)
             48700,  // index   73, acCode  201 (0x00C9)
             13700,  // index   74, acCode  202 (0x00CA)
             47800,  // index   75, acCode  203 (0x00CB)
            112700,  // index   76, acCode  204 (0x00CC)
             76800,  // index   77, acCode  205 (0x00CD)
            111800,  // index   78, acCode  206 (0x00CE)
             77700,  // index   79, acCode  207 (0x00CF)
             10800,  // index   80, acCode  208 (0x00D0)
             50700,  // index   81, acCode  209 (0x00D1)
             11700,  // index   82, acCode  210 (0x00D2)
             49800,  // index   83, acCode  211 (0x00D3)
            114700,  // index   84, acCode  212 (0x00D4)
             74800,  // index   85, acCode  213 (0x00D5)
            113800,  // index   86, acCode  214 (0x00D6)
             75700,  // index   87, acCode  215 (0x00D7)
             12700,  // index   88, acCode  216 (0x00D8)
             48800,  // index   89, acCode  217 (0x00D9)
             11800,  // index   90, acCode  218 (0x00DA)
             49700,  // index   91, acCode  219 (0x00DB)
            112800,  // index   92, acCode  220 (0x00DC)
             76700,  // index   93, acCode  221 (0x00DD)
            113700,  // index   94, acCode  222 (0x00DE)
             75800,  // index   95, acCode  223 (0x00DF)
              6800,  // index   96, acCode  224 (0x00E0)
             54700,  // index   97, acCode  225 (0x00E1)
              7700,  // index   98, acCode  226 (0x00E2)
             53800,  // index   99, acCode  227 (0x00E3)
            118700,  // index  100, acCode  228 (0x00E4)
             70800,  // index  101, acCode  229 (0x00E5)
            117800,  // index  102, acCode  230 (0x00E6)
             71700,  // index  103, acCode  231 (0x00E7)
              8700,  // index  104, acCode  232 (0x00E8)
             52800,  // index  105, acCode  233 (0x00E9)
              7800,  // index  106, acCode  234 (0x00EA)
             53700,  // index  107, acCode  235 (0x00EB)
            116800,  // index  108, acCode  236 (0x00EC)
             72700,  // index  109, acCode  237 (0x00ED)
            117700,  // index  110, acCode  238 (0x00EE)
             71800,  // index  111, acCode  239 (0x00EF)
             10700,  // index  112, acCode  240 (0x00F0)
             50800,  // index  113, acCode  241 (0x00F1)
              9800,  // index  114, acCode  242 (0x00F2)
             51700,  // index  115, acCode  243 (0x00F3)
            114800,  // index  116, acCode  244 (0x00F4)
             74700,  // index  117, acCode  245 (0x00F5)
            115700,  // index  118, acCode  246 (0x00F6)
             73800,  // index  119, acCode  247 (0x00F7)
              8800,  // index  120, acCode  248 (0x00F8)
             52700,  // index  121, acCode  249 (0x00F9)
              9700,  // index  122, acCode  250 (0x00FA)
             51800,  // index  123, acCode  251 (0x00FB)
            116700,  // index  124, acCode  252 (0x00FC)
             72800,  // index  125, acCode  253 (0x00FD)
            115800,  // index  126, acCode  254 (0x00FE)
             73700,  // index  127, acCode  255 (0x00FF)
             -1000,  // index  128, acCode  256 (0x0100)
             62500,  // index  129, acCode  257 (0x0101)
              -500,  // index  130, acCode  258 (0x0102)
             62000,  // index  131, acCode  259 (0x0103)
            126500,  // index  132, acCode  260 (0x0104)
             63000,  // index  133, acCode  261 (0x0105)
            126000,  // index  134, acCode  262 (0x0106)
             63500,  // index  135, acCode  263 (0x0107)
               500,  // index  136, acCode  264 (0x0108)
             61000,  // index  137, acCode  265 (0x0109)
                 0,  // index  138, acCode  266 (0x010A)
             61500,  // index  139, acCode  267 (0x010B)
            125000,  // index  140, acCode  268 (0x010C)
             64500,  // index  141, acCode  269 (0x010D)
            125500,  // index  142, acCode  270 (0x010E)
             64000,  // index  143, acCode  271 (0x010F)
              2500,  // index  144, acCode  272 (0x0110)
             59000,  // index  145, acCode  273 (0x0111)
              2000,  // index  146, acCode  274 (0x0112)
             59500,  // index  147, acCode  275 (0x0113)
            123000,  // index  148, acCode  276 (0x0114)
             66500,  // index  149, acCode  277 (0x0115)
            123500,  // index  150, acCode  278 (0x0116)
             66000,  // index  151, acCode  279 (0x0117)
              1000,  // index  152, acCode  280 (0x0118)
             60500,  // index  153, acCode  281 (0x0119)
              1500,  // index  154, acCode  282 (0x011A)
             60000,  // index  155, acCode  283 (0x011B)
            124500,  // index  156, acCode  284 (0x011C)
             65000,  // index  157, acCode  285 (0x011D)
            124000,  // index  158, acCode  286 (0x011E)
             65500,  // index  159, acCode  287 (0x011F)
              6500,  // index  160, acCode  288 (0x0120)
             55000,  // index  161, acCode  289 (0x0121)
              6000,  // index  162, acCode  290 (0x0122)
             55500,  // index  163, acCode  291 (0x0123)
            119000,  // index  164, acCode  292 (0x0124)
             70500,  // index  165, acCode  293 (0x0125)
            119500,  // index  166, acCode  294 (0x0126)
             70000,  // index  167, acCode  295 (0x0127)
              5000,  // index  168, acCode  296 (0x0128)
             56500,  // index  169, acCode  297 (0x0129)
              5500,  // index  170, acCode  298 (0x012A)
             56000,  // index  171, acCode  299 (0x012B)
            120500,  // index  172, acCode  300 (0x012C)
             69000,  // index  173, acCode  301 (0x012D)
            120000,  // index  174, acCode  302 (0x012E)
             69500,  // index  175, acCode  303 (0x012F)
              3000,  // index  176, acCode  304 (0x0130)
             58500,  // index  177, acCode  305 (0x0131)
              3500,  // index  178, acCode  306 (0x0132)
             58000,  // index  179, acCode  307 (0x0133)
            122500,  // index  180, acCode  308 (0x0134)
             67000,  // index  181, acCode  309 (0x0135)
            122000,  // index  182, acCode  310 (0x0136)
             67500,  // index  183, acCode  311 (0x0137)
              4500,  // index  184, acCode  312 (0x0138)
             57000,  // index  185, acCode  313 (0x0139)
              4000,  // index  186, acCode  314 (0x013A)
             57500,  // index  187, acCode  315 (0x013B)
            121000,  // index  188, acCode  316 (0x013C)
             68500,  // index  189, acCode  317 (0x013D)
            121500,  // index  190, acCode  318 (0x013E)
             68000,  // index  191, acCode  319 (0x013F)
             -1100,  // index  192, acCode  320 (0x0140)
             62600,  // index  193, acCode  321 (0x0141)
              -400,  // index  194, acCode  322 (0x0142)
             61900,  // index  195, acCode  323 (0x0143)
            126600,  // index  196, acCode  324 (0x0144)
             62900,  // index  197, acCode  325 (0x0145)
            125900,  // index  198, acCode  326 (0x0146)
             63600,  // index  199, acCode  327 (0x0147)
               600,  // index  200, acCode  328 (0x0148)
             60900,  // index  201, acCode  329 (0x0149)
              -100,  // index  202, acCode  330 (0x014A)
             61600,  // index  203, acCode  331 (0x014B)
            124900,  // index  204, acCode  332 (0x014C)
             64600,  // index  205, acCode  333 (0x014D)
            125600,  // index  206, acCode  334 (0x014E)
             63900,  // index  207, acCode  335 (0x014F)
              2600,  // index  208, acCode  336 (0x0150)
             58900,  // index  209, acCode  337 (0x0151)
              1900,  // index  210, acCode  338 (0x0152)
             59600,  // index  211, acCode  339 (0x0153)
            122900,  // index  212, acCode  340 (0x0154)
             66600,  // index  213, acCode  341 (0x0155)
            123600,  // index  214, acCode  342 (0x0156)
             65900,  // index  215, acCode  343 (0x0157)
               900,  // index  216, acCode  344 (0x0158)
             60600,  // index  217, acCode  345 (0x0159)
              1600,  // index  218, acCode  346 (0x015A)
             59900,  // index  219, acCode  347 (0x015B)
            124600,  // index  220, acCode  348 (0x015C)
             64900,  // index  221, acCode  349 (0x015D)
            123900,  // index  222, acCode  350 (0x015E)
             65600,  // index  223, acCode  351 (0x015F)
              6600,  // index  224, acCode  352 (0x0160)
             54900,  // index  225, acCode  353 (0x0161)
              5900,  // index  226, acCode  354 (0x0162)
             55600,  // index  227, acCode  355 (0x0163)
            118900,  // index  228, acCode  356 (0x0164)
             70600,  // index  229, acCode  357 (0x0165)
            119600,  // index  230, acCode  358 (0x0166)
             69900,  // index  231, acCode  359 (0x0167)
              4900,  // index  232, acCode  360 (0x0168)
             56600,  // index  233, acCode  361 (0x0169)
              5600,  // index  234, acCode  362 (0x016A)
             55900,  // index  235, acCode  363 (0x016B)
            120600,  // index  236, acCode  364 (0x016C)
             68900,  // index  237, acCode  365 (0x016D)
            119900,  // index  238, acCode  366 (0x016E)
             69600,  // index  239, acCode  367 (0x016F)
              2900,  // index  240, acCode  368 (0x0170)
             58600,  // index  241, acCode  369 (0x0171)
              3600,  // index  242, acCode  370 (0x0172)
             57900,  // index  243, acCode  371 (0x0173)
            122600,  // index  244, acCode  372 (0x0174)
             66900,  // index  245, acCode  373 (0x0175)
            121900,  // index  246, acCode  374 (0x0176)
             67600,  // index  247, acCode  375 (0x0177)
              4600,  // index  248, acCode  376 (0x0178)
             56900,  // index  249, acCode  377 (0x0179)
              3900,  // index  250, acCode  378 (0x017A)
             57600,  // index  251, acCode  379 (0x017B)
            120900,  // index  252, acCode  380 (0x017C)
             68600,  // index  253, acCode  381 (0x017D)
            121600,  // index  254, acCode  382 (0x017E)
             67900,  // index  255, acCode  383 (0x017F)
             14500,  // index  256, acCode  384 (0x0180)
             47000,  // index  257, acCode  385 (0x0181)
             14000,  // index  258, acCode  386 (0x0182)
             47500,  // index  259, acCode  387 (0x0183)
            111000,  // index  260, acCode  388 (0x0184)
             78500,  // index  261, acCode  389 (0x0185)
            111500,  // index  262, acCode  390 (0x0186)
             78000,  // index  263, acCode  391 (0x0187)
             13000,  // index  264, acCode  392 (0x0188)
             48500,  // index  265, acCode  393 (0x0189)
             13500,  // index  266, acCode  394 (0x018A)
             48000,  // index  267, acCode  395 (0x018B)
            112500,  // index  268, acCode  396 (0x018C)
             77000,  // index  269, acCode  397 (0x018D)
            112000,  // index  270, acCode  398 (0x018E)
             77500,  // index  271, acCode  399 (0x018F)
             11000,  // index  272, acCode  400 (0x0190)
             50500,  // index  273, acCode  401 (0x0191)
             11500,  // index  274, acCode  402 (0x0192)
             50000,  // index  275, acCode  403 (0x0193)
            114500,  // index  276, acCode  404 (0x0194)
             75000,  // index  277, acCode  405 (0x0195)
            114000,  // index  278, acCode  406 (0x0196)
             75500,  // index  279, acCode  407 (0x0197)
             12500,  // index  280, acCode  408 (0x0198)
             49000,  // index  281, acCode  409 (0x0199)
             12000,  // index  282, acCode  410 (0x019A)
             49500,  // index  283, acCode  411 (0x019B)
            113000,  // index  284, acCode  412 (0x019C)
             76500,  // index  285, acCode  413 (0x019D)
            113500,  // index  286, acCode  414 (0x019E)
             76000,  // index  287, acCode  415 (0x019F)
              7000,  // index  288, acCode  416 (0x01A0)
             54500,  // index  289, acCode  417 (0x01A1)
              7500,  // index  290, acCode  418 (0x01A2)
             54000,  // index  291, acCode  419 (0x01A3)
            118500,  // index  292, acCode  420 (0x01A4)
             71000,  // index  293, acCode  421 (0x01A5)
            118000,  // index  294, acCode  422 (0x01A6)
             71500,  // index  295, acCode  423 (0x01A7)
              8500,  // index  296, acCode  424 (0x01A8)
             53000,  // index  297, acCode  425 (0x01A9)
              8000,  // index  298, acCode  426 (0x01AA)
             53500,  // index  299, acCode  427 (0x01AB)
            117000,  // index  300, acCode  428 (0x01AC)
             72500,  // index  301, acCode  429 (0x01AD)
            117500,  // index  302, acCode  430 (0x01AE)
             72000,  // index  303, acCode  431 (0x01AF)
             10500,  // index  304, acCode  432 (0x01B0)
             51000,  // index  305, acCode  433 (0x01B1)
             10000,  // index  306, acCode  434 (0x01B2)
             51500,  // index  307, acCode  435 (0x01B3)
            115000,  // index  308, acCode  436 (0x01B4)
             74500,  // index  309, acCode  437 (0x01B5)
            115500,  // index  310, acCode  438 (0x01B6)
             74000,  // index  311, acCode  439 (0x01B7)
              9000,  // index  312, acCode  440 (0x01B8)
             52500,  // index  313, acCode  441 (0x01B9)
              9500,  // index  314, acCode  442 (0x01BA)
             52000,  // index  315, acCode  443 (0x01BB)
            116500,  // index  316, acCode  444 (0x01BC)
             73000,  // index  317, acCode  445 (0x01BD)
            116000,  // index  318, acCode  446 (0x01BE)
             73500,  // index  319, acCode  447 (0x01BF)
             14600,  // index  320, acCode  448 (0x01C0)
             46900,  // index  321, acCode  449 (0x01C1)
             13900,  // index  322, acCode  450 (0x01C2)
             47600,  // index  323, acCode  451 (0x01C3)
            110900,  // index  324, acCode  452 (0x01C4)
             78600,  // index  325, acCode  453 (0x01C5)
            111600,  // index  326, acCode  454 (0x01C6)
             77900,  // index  327, acCode  455 (0x01C7)
             12900,  // index  328, acCode  456 (0x01C8)
             48600,  // index  329, acCode  457 (0x01C9)
             13600,  // index  330, acCode  458 (0x01CA)
             47900,  // index  331, acCode  459 (0x01CB)
            112600,  // index  332, acCode  460 (0x01CC)
             76900,  // index  333, acCode  461 (0x01CD)
            111900,  // index  334, acCode  462 (0x01CE)
             77600,  // index  335, acCode  463 (0x01CF)
             10900,  // index  336, acCode  464 (0x01D0)
             50600,  // index  337, acCode  465 (0x01D1)
             11600,  // index  338, acCode  466 (0x01D2)
             49900,  // index  339, acCode  467 (0x01D3)
            114600,  // index  340, acCode  468 (0x01D4)
             74900,  // index  341, acCode  469 (0x01D5)
            113900,  // index  342, acCode  470 (0x01D6)
             75600,  // index  343, acCode  471 (0x01D7)
             12600,  // index  344, acCode  472 (0x01D8)
             48900,  // index  345, acCode  473 (0x01D9)
             11900,  // index  346, acCode  474 (0x01DA)
             49600,  // index  347, acCode  475 (0x01DB)
            112900,  // index  348, acCode  476 (0x01DC)
             76600,  // index  349, acCode  477 (0x01DD)
            113600,  // index  350, acCode  478 (0x01DE)
             75900,  // index  351, acCode  479 (0x01DF)
              6900,  // index  352, acCode  480 (0x01E0)
             54600,  // index  353, acCode  481 (0x01E1)
              7600,  // index  354, acCode  482 (0x01E2)
             53900,  // index  355, acCode  483 (0x01E3)
            118600,  // index  356, acCode  484 (0x01E4)
             70900,  // index  357, acCode  485 (0x01E5)
            117900,  // index  358, acCode  486 (0x01E6)
             71600,  // index  359, acCode  487 (0x01E7)
              8600,  // index  360, acCode  488 (0x01E8)
             52900,  // index  361, acCode  489 (0x01E9)
              7900,  // index  362, acCode  490 (0x01EA)
             53600,  // index  363, acCode  491 (0x01EB)
            116900,  // index  364, acCode  492 (0x01EC)
             72600,  // index  365, acCode  493 (0x01ED)
            117600,  // index  366, acCode  494 (0x01EE)
             71900,  // index  367, acCode  495 (0x01EF)
             10600,  // index  368, acCode  496 (0x01F0)
             50900,  // index  369, acCode  497 (0x01F1)
              9900,  // index  370, acCode  498 (0x01F2)
             51600,  // index  371, acCode  499 (0x01F3)
            114900,  // index  372, acCode  500 (0x01F4)
             74600,  // index  373, acCode  501 (0x01F5)
            115600,  // index  374, acCode  502 (0x01F6)
             73900,  // index  375, acCode  503 (0x01F7)
              8900,  // index  376, acCode  504 (0x01F8)
             52600,  // index  377, acCode  505 (0x01F9)
              9600,  // index  378, acCode  506 (0x01FA)
             51900,  // index  379, acCode  507 (0x01FB)
            116600,  // index  380, acCode  508 (0x01FC)
             72900,  // index  381, acCode  509 (0x01FD)
            115900,  // index  382, acCode  510 (0x01FE)
             73600,  // index  383, acCode  511 (0x01FF)
             30700,  // index  384, acCode  576 (0x0240)
             30800,  // index  385, acCode  577 (0x0241)
             29800,  // index  386, acCode  578 (0x0242)
             31700,  // index  387, acCode  579 (0x0243)
             94800,  // index  388, acCode  580 (0x0244)
             94700,  // index  389, acCode  581 (0x0245)
             95700,  // index  390, acCode  582 (0x0246)
             93800,  // index  391, acCode  583 (0x0247)
             28800,  // index  392, acCode  584 (0x0248)
             32700,  // index  393, acCode  585 (0x0249)
             29700,  // index  394, acCode  586 (0x024A)
             31800,  // index  395, acCode  587 (0x024B)
             96700,  // index  396, acCode  588 (0x024C)
             92800,  // index  397, acCode  589 (0x024D)
             95800,  // index  398, acCode  590 (0x024E)
             93700,  // index  399, acCode  591 (0x024F)
             26800,  // index  400, acCode  592 (0x0250)
             34700,  // index  401, acCode  593 (0x0251)
             27700,  // index  402, acCode  594 (0x0252)
             33800,  // index  403, acCode  595 (0x0253)
             98700,  // index  404, acCode  596 (0x0254)
             90800,  // index  405, acCode  597 (0x0255)
             97800,  // index  406, acCode  598 (0x0256)
             91700,  // index  407, acCode  599 (0x0257)
             28700,  // index  408, acCode  600 (0x0258)
             32800,  // index  409, acCode  601 (0x0259)
             27800,  // index  410, acCode  602 (0x025A)
             33700,  // index  411, acCode  603 (0x025B)
             96800,  // index  412, acCode  604 (0x025C)
             92700,  // index  413, acCode  605 (0x025D)
             97700,  // index  414, acCode  606 (0x025E)
             91800,  // index  415, acCode  607 (0x025F)
             22800,  // index  416, acCode  608 (0x0260)
             38700,  // index  417, acCode  609 (0x0261)
             23700,  // index  418, acCode  610 (0x0262)
             37800,  // index  419, acCode  611 (0x0263)
            102700,  // index  420, acCode  612 (0x0264)
             86800,  // index  421, acCode  613 (0x0265)
            101800,  // index  422, acCode  614 (0x0266)
             87700,  // index  423, acCode  615 (0x0267)
             24700,  // index  424, acCode  616 (0x0268)
             36800,  // index  425, acCode  617 (0x0269)
             23800,  // index  426, acCode  618 (0x026A)
             37700,  // index  427, acCode  619 (0x026B)
            100800,  // index  428, acCode  620 (0x026C)
             88700,  // index  429, acCode  621 (0x026D)
            101700,  // index  430, acCode  622 (0x026E)
             87800,  // index  431, acCode  623 (0x026F)
             26700,  // index  432, acCode  624 (0x0270)
             34800,  // index  433, acCode  625 (0x0271)
             25800,  // index  434, acCode  626 (0x0272)
             35700,  // index  435, acCode  627 (0x0273)
             98800,  // index  436, acCode  628 (0x0274)
             90700,  // index  437, acCode  629 (0x0275)
             99700,  // index  438, acCode  630 (0x0276)
             89800,  // index  439, acCode  631 (0x0277)
             24800,  // index  440, acCode  632 (0x0278)
             36700,  // index  441, acCode  633 (0x0279)
             25700,  // index  442, acCode  634 (0x027A)
             35800,  // index  443, acCode  635 (0x027B)
            100700,  // index  444, acCode  636 (0x027C)
             88800,  // index  445, acCode  637 (0x027D)
             99800,  // index  446, acCode  638 (0x027E)
             89700,  // index  447, acCode  639 (0x027F)
             14800,  // index  448, acCode  704 (0x02C0)
             46700,  // index  449, acCode  705 (0x02C1)
             15700,  // index  450, acCode  706 (0x02C2)
             45800,  // index  451, acCode  707 (0x02C3)
            110700,  // index  452, acCode  708 (0x02C4)
             78800,  // index  453, acCode  709 (0x02C5)
            109800,  // index  454, acCode  710 (0x02C6)
             79700,  // index  455, acCode  711 (0x02C7)
             16700,  // index  456, acCode  712 (0x02C8)
             44800,  // index  457, acCode  713 (0x02C9)
             15800,  // index  458, acCode  714 (0x02CA)
             45700,  // index  459, acCode  715 (0x02CB)
            108800,  // index  460, acCode  716 (0x02CC)
             80700,  // index  461, acCode  717 (0x02CD)
            109700,  // index  462, acCode  718 (0x02CE)
             79800,  // index  463, acCode  719 (0x02CF)
             18700,  // index  464, acCode  720 (0x02D0)
             42800,  // index  465, acCode  721 (0x02D1)
             17800,  // index  466, acCode  722 (0x02D2)
             43700,  // index  467, acCode  723 (0x02D3)
            106800,  // index  468, acCode  724 (0x02D4)
             82700,  // index  469, acCode  725 (0x02D5)
            107700,  // index  470, acCode  726 (0x02D6)
             81800,  // index  471, acCode  727 (0x02D7)
             16800,  // index  472, acCode  728 (0x02D8)
             44700,  // index  473, acCode  729 (0x02D9)
             17700,  // index  474, acCode  730 (0x02DA)
             43800,  // index  475, acCode  731 (0x02DB)
            108700,  // index  476, acCode  732 (0x02DC)
             80800,  // index  477, acCode  733 (0x02DD)
            107800,  // index  478, acCode  734 (0x02DE)
             81700,  // index  479, acCode  735 (0x02DF)
             22700,  // index  480, acCode  736 (0x02E0)
             38800,  // index  481, acCode  737 (0x02E1)
             21800,  // index  482, acCode  738 (0x02E2)
             39700,  // index  483, acCode  739 (0x02E3)
            102800,  // index  484, acCode  740 (0x02E4)
             86700,  // index  485, acCode  741 (0x02E5)
            103700,  // index  486, acCode  742 (0x02E6)
             85800,  // index  487, acCode  743 (0x02E7)
             20800,  // index  488, acCode  744 (0x02E8)
             40700,  // index  489, acCode  745 (0x02E9)
             21700,  // index  490, acCode  746 (0x02EA)
             39800,  // index  491, acCode  747 (0x02EB)
            104700,  // index  492, acCode  748 (0x02EC)
             84800,  // index  493, acCode  749 (0x02ED)
            103800,  // index  494, acCode  750 (0x02EE)
             85700,  // index  495, acCode  751 (0x02EF)
             18800,  // index  496, acCode  752 (0x02F0)
             42700,  // index  497, acCode  753 (0x02F1)
             19700,  // index  498, acCode  754 (0x02F2)
             41800,  // index  499, acCode  755 (0x02F3)
            106700,  // index  500, acCode  756 (0x02F4)
             82800,  // index  501, acCode  757 (0x02F5)
            105800,  // index  502, acCode  758 (0x02F6)
             83700,  // index  503, acCode  759 (0x02F7)
             20700,  // index  504, acCode  760 (0x02F8)
             40800,  // index  505, acCode  761 (0x02F9)
             19800,  // index  506, acCode  762 (0x02FA)
             41700,  // index  507, acCode  763 (0x02FB)
            104800,  // index  508, acCode  764 (0x02FC)
             84700,  // index  509, acCode  765 (0x02FD)
            105700,  // index  510, acCode  766 (0x02FE)
             83800,  // index  511, acCode  767 (0x02FF)
             30500,  // index  512, acCode  768 (0x0300)
             31000,  // index  513, acCode  769 (0x0301)
             30000,  // index  514, acCode  770 (0x0302)
             31500,  // index  515, acCode  771 (0x0303)
             95000,  // index  516, acCode  772 (0x0304)
             94500,  // index  517, acCode  773 (0x0305)
             95500,  // index  518, acCode  774 (0x0306)
             94000,  // index  519, acCode  775 (0x0307)
             29000,  // index  520, acCode  776 (0x0308)
             32500,  // index  521, acCode  777 (0x0309)
             29500,  // index  522, acCode  778 (0x030A)
             32000,  // index  523, acCode  779 (0x030B)
             96500,  // index  524, acCode  780 (0x030C)
             93000,  // index  525, acCode  781 (0x030D)
             96000,  // index  526, acCode  782 (0x030E)
             93500,  // index  527, acCode  783 (0x030F)
             27000,  // index  528, acCode  784 (0x0310)
             34500,  // index  529, acCode  785 (0x0311)
             27500,  // index  530, acCode  786 (0x0312)
             34000,  // index  531, acCode  787 (0x0313)
             98500,  // index  532, acCode  788 (0x0314)
             91000,  // index  533, acCode  789 (0x0315)
             98000,  // index  534, acCode  790 (0x0316)
             91500,  // index  535, acCode  791 (0x0317)
             28500,  // index  536, acCode  792 (0x0318)
             33000,  // index  537, acCode  793 (0x0319)
             28000,  // index  538, acCode  794 (0x031A)
             33500,  // index  539, acCode  795 (0x031B)
             97000,  // index  540, acCode  796 (0x031C)
             92500,  // index  541, acCode  797 (0x031D)
             97500,  // index  542, acCode  798 (0x031E)
             92000,  // index  543, acCode  799 (0x031F)
             23000,  // index  544, acCode  800 (0x0320)
             38500,  // index  545, acCode  801 (0x0321)
             23500,  // index  546, acCode  802 (0x0322)
             38000,  // index  547, acCode  803 (0x0323)
            102500,  // index  548, acCode  804 (0x0324)
             87000,  // index  549, acCode  805 (0x0325)
            102000,  // index  550, acCode  806 (0x0326)
             87500,  // index  551, acCode  807 (0x0327)
             24500,  // index  552, acCode  808 (0x0328)
             37000,  // index  553, acCode  809 (0x0329)
             24000,  // index  554, acCode  810 (0x032A)
             37500,  // index  555, acCode  811 (0x032B)
            101000,  // index  556, acCode  812 (0x032C)
             88500,  // index  557, acCode  813 (0x032D)
            101500,  // index  558, acCode  814 (0x032E)
             88000,  // index  559, acCode  815 (0x032F)
             26500,  // index  560, acCode  816 (0x0330)
             35000,  // index  561, acCode  817 (0x0331)
             26000,  // index  562, acCode  818 (0x0332)
             35500,  // index  563, acCode  819 (0x0333)
             99000,  // index  564, acCode  820 (0x0334)
             90500,  // index  565, acCode  821 (0x0335)
             99500,  // index  566, acCode  822 (0x0336)
             90000,  // index  567, acCode  823 (0x0337)
             25000,  // index  568, acCode  824 (0x0338)
             36500,  // index  569, acCode  825 (0x0339)
             25500,  // index  570, acCode  826 (0x033A)
             36000,  // index  571, acCode  827 (0x033B)
            100500,  // index  572, acCode  828 (0x033C)
             89000,  // index  573, acCode  829 (0x033D)
            100000,  // index  574, acCode  830 (0x033E)
             89500,  // index  575, acCode  831 (0x033F)
             30600,  // index  576, acCode  832 (0x0340)
             30900,  // index  577, acCode  833 (0x0341)
             29900,  // index  578, acCode  834 (0x0342)
             31600,  // index  579, acCode  835 (0x0343)
             94900,  // index  580, acCode  836 (0x0344)
             94600,  // index  581, acCode  837 (0x0345)
             95600,  // index  582, acCode  838 (0x0346)
             93900,  // index  583, acCode  839 (0x0347)
             28900,  // index  584, acCode  840 (0x0348)
             32600,  // index  585, acCode  841 (0x0349)
             29600,  // index  586, acCode  842 (0x034A)
             31900,  // index  587, acCode  843 (0x034B)
             96600,  // index  588, acCode  844 (0x034C)
             92900,  // index  589, acCode  845 (0x034D)
             95900,  // index  590, acCode  846 (0x034E)
             93600,  // index  591, acCode  847 (0x034F)
             26900,  // index  592, acCode  848 (0x0350)
             34600,  // index  593, acCode  849 (0x0351)
             27600,  // index  594, acCode  850 (0x0352)
             33900,  // index  595, acCode  851 (0x0353)
             98600,  // index  596, acCode  852 (0x0354)
             90900,  // index  597, acCode  853 (0x0355)
             97900,  // index  598, acCode  854 (0x0356)
             91600,  // index  599, acCode  855 (0x0357)
             28600,  // index  600, acCode  856 (0x0358)
             32900,  // index  601, acCode  857 (0x0359)
             27900,  // index  602, acCode  858 (0x035A)
             33600,  // index  603, acCode  859 (0x035B)
             96900,  // index  604, acCode  860 (0x035C)
             92600,  // index  605, acCode  861 (0x035D)
             97600,  // index  606, acCode  862 (0x035E)
             91900,  // index  607, acCode  863 (0x035F)
             22900,  // index  608, acCode  864 (0x0360)
             38600,  // index  609, acCode  865 (0x0361)
             23600,  // index  610, acCode  866 (0x0362)
             37900,  // index  611, acCode  867 (0x0363)
            102600,  // index  612, acCode  868 (0x0364)
             86900,  // index  613, acCode  869 (0x0365)
            101900,  // index  614, acCode  870 (0x0366)
             87600,  // index  615, acCode  871 (0x0367)
             24600,  // index  616, acCode  872 (0x0368)
             36900,  // index  617, acCode  873 (0x0369)
             23900,  // index  618, acCode  874 (0x036A)
             37600,  // index  619, acCode  875 (0x036B)
            100900,  // index  620, acCode  876 (0x036C)
             88600,  // index  621, acCode  877 (0x036D)
            101600,  // index  622, acCode  878 (0x036E)
             87900,  // index  623, acCode  879 (0x036F)
             26600,  // index  624, acCode  880 (0x0370)
             34900,  // index  625, acCode  881 (0x0371)
             25900,  // index  626, acCode  882 (0x0372)
             35600,  // index  627, acCode  883 (0x0373)
             98900,  // index  628, acCode  884 (0x0374)
             90600,  // index  629, acCode  885 (0x0375)
             99600,  // index  630, acCode  886 (0x0376)
             89900,  // index  631, acCode  887 (0x0377)
             24900,  // index  632, acCode  888 (0x0378)
             36600,  // index  633, acCode  889 (0x0379)
             25600,  // index  634, acCode  890 (0x037A)
             35900,  // index  635, acCode  891 (0x037B)
            100600,  // index  636, acCode  892 (0x037C)
             88900,  // index  637, acCode  893 (0x037D)
             99900,  // index  638, acCode  894 (0x037E)
             89600,  // index  639, acCode  895 (0x037F)
             15000,  // index  640, acCode  896 (0x0380)
             46500,  // index  641, acCode  897 (0x0381)
             15500,  // index  642, acCode  898 (0x0382)
             46000,  // index  643, acCode  899 (0x0383)
            110500,  // index  644, acCode  900 (0x0384)
             79000,  // index  645, acCode  901 (0x0385)
            110000,  // index  646, acCode  902 (0x0386)
             79500,  // index  647, acCode  903 (0x0387)
             16500,  // index  648, acCode  904 (0x0388)
             45000,  // index  649, acCode  905 (0x0389)
             16000,  // index  650, acCode  906 (0x038A)
             45500,  // index  651, acCode  907 (0x038B)
            109000,  // index  652, acCode  908 (0x038C)
             80500,  // index  653, acCode  909 (0x038D)
            109500,  // index  654, acCode  910 (0x038E)
             80000,  // index  655, acCode  911 (0x038F)
             18500,  // index  656, acCode  912 (0x0390)
             43000,  // index  657, acCode  913 (0x0391)
             18000,  // index  658, acCode  914 (0x0392)
             43500,  // index  659, acCode  915 (0x0393)
            107000,  // index  660, acCode  916 (0x0394)
             82500,  // index  661, acCode  917 (0x0395)
            107500,  // index  662, acCode  918 (0x0396)
             82000,  // index  663, acCode  919 (0x0397)
             17000,  // index  664, acCode  920 (0x0398)
             44500,  // index  665, acCode  921 (0x0399)
             17500,  // index  666, acCode  922 (0x039A)
             44000,  // index  667, acCode  923 (0x039B)
            108500,  // index  668, acCode  924 (0x039C)
             81000,  // index  669, acCode  925 (0x039D)
            108000,  // index  670, acCode  926 (0x039E)
             81500,  // index  671, acCode  927 (0x039F)
             22500,  // index  672, acCode  928 (0x03A0)
             39000,  // index  673, acCode  929 (0x03A1)
             22000,  // index  674, acCode  930 (0x03A2)
             39500,  // index  675, acCode  931 (0x03A3)
            103000,  // index  676, acCode  932 (0x03A4)
             86500,  // index  677, acCode  933 (0x03A5)
            103500,  // index  678, acCode  934 (0x03A6)
             86000,  // index  679, acCode  935 (0x03A7)
             21000,  // index  680, acCode  936 (0x03A8)
             40500,  // index  681, acCode  937 (0x03A9)
             21500,  // index  682, acCode  938 (0x03AA)
             40000,  // index  683, acCode  939 (0x03AB)
            104500,  // index  684, acCode  940 (0x03AC)
             85000,  // index  685, acCode  941 (0x03AD)
            104000,  // index  686, acCode  942 (0x03AE)
             85500,  // index  687, acCode  943 (0x03AF)
             19000,  // index  688, acCode  944 (0x03B0)
             42500,  // index  689, acCode  945 (0x03B1)
             19500,  // index  690, acCode  946 (0x03B2)
             42000,  // index  691, acCode  947 (0x03B3)
            106500,  // index  692, acCode  948 (0x03B4)
             83000,  // index  693, acCode  949 (0x03B5)
            106000,  // index  694, acCode  950 (0x03B6)
             83500,  // index  695, acCode  951 (0x03B7)
             20500,  // index  696, acCode  952 (0x03B8)
             41000,  // index  697, acCode  953 (0x03B9)
             20000,  // index  698, acCode  954 (0x03BA)
             41500,  // index  699, acCode  955 (0x03BB)
            105000,  // index  700, acCode  956 (0x03BC)
             84500,  // index  701, acCode  957 (0x03BD)
            105500,  // index  702, acCode  958 (0x03BE)
             84000,  // index  703, acCode  959 (0x03BF)
             14900,  // index  704, acCode  960 (0x03C0)
             46600,  // index  705, acCode  961 (0x03C1)
             15600,  // index  706, acCode  962 (0x03C2)
             45900,  // index  707, acCode  963 (0x03C3)
            110600,  // index  708, acCode  964 (0x03C4)
             78900,  // index  709, acCode  965 (0x03C5)
            109900,  // index  710, acCode  966 (0x03C6)
             79600,  // index  711, acCode  967 (0x03C7)
             16600,  // index  712, acCode  968 (0x03C8)
             44900,  // index  713, acCode  969 (0x03C9)
             15900,  // index  714, acCode  970 (0x03CA)
             45600,  // index  715, acCode  971 (0x03CB)
            108900,  // index  716, acCode  972 (0x03CC)
             80600,  // index  717, acCode  973 (0x03CD)
            109600,  // index  718, acCode  974 (0x03CE)
             79900,  // index  719, acCode  975 (0x03CF)
             18600,  // index  720, acCode  976 (0x03D0)
             42900,  // index  721, acCode  977 (0x03D1)
             17900,  // index  722, acCode  978 (0x03D2)
             43600,  // index  723, acCode  979 (0x03D3)
            106900,  // index  724, acCode  980 (0x03D4)
             82600,  // index  725, acCode  981 (0x03D5)
            107600,  // index  726, acCode  982 (0x03D6)
             81900,  // index  727, acCode  983 (0x03D7)
             16900,  // index  728, acCode  984 (0x03D8)
             44600,  // index  729, acCode  985 (0x03D9)
             17600,  // index  730, acCode  986 (0x03DA)
             43900,  // index  731, acCode  987 (0x03DB)
            108600,  // index  732, acCode  988 (0x03DC)
             80900,  // index  733, acCode  989 (0x03DD)
            107900,  // index  734, acCode  990 (0x03DE)
             81600,  // index  735, acCode  991 (0x03DF)
             22600,  // index  736, acCode  992 (0x03E0)
             38900,  // index  737, acCode  993 (0x03E1)
             21900,  // index  738, acCode  994 (0x03E2)
             39600,  // index  739, acCode  995 (0x03E3)
            102900,  // index  740, acCode  996 (0x03E4)
             86600,  // index  741, acCode  997 (0x03E5)
            103600,  // index  742, acCode  998 (0x03E6)
             85900,  // index  743, acCode  999 (0x03E7)
             20900,  // index  744, acCode 1000 (0x03E8)
             40600,  // index  745, acCode 1001 (0x03E9)
             21600,  // index  746, acCode 1002 (0x03EA)
             39900,  // index  747, acCode 1003 (0x03EB)
            104600,  // index  748, acCode 1004 (0x03EC)
             84900,  // index  749, acCode 1005 (0x03ED)
            103900,  // index  750, acCode 1006 (0x03EE)
             85600,  // index  751, acCode 1007 (0x03EF)
             18900,  // index  752, acCode 1008 (0x03F0)
             42600,  // index  753, acCode 1009 (0x03F1)
             19600,  // index  754, acCode 1010 (0x03F2)
             41900,  // index  755, acCode 1011 (0x03F3)
            106600,  // index  756, acCode 1012 (0x03F4)
             82900,  // index  757, acCode 1013 (0x03F5)
            105900,  // index  758, acCode 1014 (0x03F6)
             83600,  // index  759, acCode 1015 (0x03F7)
             20600,  // index  760, acCode 1016 (0x03F8)
             40900,  // index  761, acCode 1017 (0x03F9)
             19900,  // index  762, acCode 1018 (0x03FA)
             41600,  // index  763, acCode 1019 (0x03FB)
            104900,  // index  764, acCode 1020 (0x03FC)
             84600,  // index  765, acCode 1021 (0x03FD)
            105600,  // index  766, acCode 1022 (0x03FE)
             83900,  // index  767, acCode 1023 (0x03FF)
              -800,  // index  768, acCode 1024 (0x0400)
             62300,  // index  769, acCode 1025 (0x0401)
              -700,  // index  770, acCode 1026 (0x0402)
             62200,  // index  771, acCode 1027 (0x0403)
            126300,  // index  772, acCode 1028 (0x0404)
             63200,  // index  773, acCode 1029 (0x0405)
            126200,  // index  774, acCode 1030 (0x0406)
             63300,  // index  775, acCode 1031 (0x0407)
               300,  // index  776, acCode 1032 (0x0408)
             61200,  // index  777, acCode 1033 (0x0409)
               200,  // index  778, acCode 1034 (0x040A)
             61300,  // index  779, acCode 1035 (0x040B)
            125200,  // index  780, acCode 1036 (0x040C)
             64300,  // index  781, acCode 1037 (0x040D)
            125300,  // index  782, acCode 1038 (0x040E)
             64200,  // index  783, acCode 1039 (0x040F)
              2300,  // index  784, acCode 1040 (0x0410)
             59200,  // index  785, acCode 1041 (0x0411)
              2200,  // index  786, acCode 1042 (0x0412)
             59300,  // index  787, acCode 1043 (0x0413)
            123200,  // index  788, acCode 1044 (0x0414)
             66300,  // index  789, acCode 1045 (0x0415)
            123300,  // index  790, acCode 1046 (0x0416)
             66200,  // index  791, acCode 1047 (0x0417)
              1200,  // index  792, acCode 1048 (0x0418)
             60300,  // index  793, acCode 1049 (0x0419)
              1300,  // index  794, acCode 1050 (0x041A)
             60200,  // index  795, acCode 1051 (0x041B)
            124300,  // index  796, acCode 1052 (0x041C)
             65200,  // index  797, acCode 1053 (0x041D)
            124200,  // index  798, acCode 1054 (0x041E)
             65300,  // index  799, acCode 1055 (0x041F)
              6300,  // index  800, acCode 1056 (0x0420)
             55200,  // index  801, acCode 1057 (0x0421)
              6200,  // index  802, acCode 1058 (0x0422)
             55300,  // index  803, acCode 1059 (0x0423)
            119200,  // index  804, acCode 1060 (0x0424)
             70300,  // index  805, acCode 1061 (0x0425)
            119300,  // index  806, acCode 1062 (0x0426)
             70200,  // index  807, acCode 1063 (0x0427)
              5200,  // index  808, acCode 1064 (0x0428)
             56300,  // index  809, acCode 1065 (0x0429)
              5300,  // index  810, acCode 1066 (0x042A)
             56200,  // index  811, acCode 1067 (0x042B)
            120300,  // index  812, acCode 1068 (0x042C)
             69200,  // index  813, acCode 1069 (0x042D)
            120200,  // index  814, acCode 1070 (0x042E)
             69300,  // index  815, acCode 1071 (0x042F)
              3200,  // index  816, acCode 1072 (0x0430)
             58300,  // index  817, acCode 1073 (0x0431)
              3300,  // index  818, acCode 1074 (0x0432)
             58200,  // index  819, acCode 1075 (0x0433)
            122300,  // index  820, acCode 1076 (0x0434)
             67200,  // index  821, acCode 1077 (0x0435)
            122200,  // index  822, acCode 1078 (0x0436)
             67300,  // index  823, acCode 1079 (0x0437)
              4300,  // index  824, acCode 1080 (0x0438)
             57200,  // index  825, acCode 1081 (0x0439)
              4200,  // index  826, acCode 1082 (0x043A)
             57300,  // index  827, acCode 1083 (0x043B)
            121200,  // index  828, acCode 1084 (0x043C)
             68300,  // index  829, acCode 1085 (0x043D)
            121300,  // index  830, acCode 1086 (0x043E)
             68200,  // index  831, acCode 1087 (0x043F)
             14300,  // index  832, acCode 1152 (0x0480)
             47200,  // index  833, acCode 1153 (0x0481)
             14200,  // index  834, acCode 1154 (0x0482)
             47300,  // index  835, acCode 1155 (0x0483)
            111200,  // index  836, acCode 1156 (0x0484)
             78300,  // index  837, acCode 1157 (0x0485)
            111300,  // index  838, acCode 1158 (0x0486)
             78200,  // index  839, acCode 1159 (0x0487)
             13200,  // index  840, acCode 1160 (0x0488)
             48300,  // index  841, acCode 1161 (0x0489)
             13300,  // index  842, acCode 1162 (0x048A)
             48200,  // index  843, acCode 1163 (0x048B)
            112300,  // index  844, acCode 1164 (0x048C)
             77200,  // index  845, acCode 1165 (0x048D)
            112200,  // index  846, acCode 1166 (0x048E)
             77300,  // index  847, acCode 1167 (0x048F)
             11200,  // index  848, acCode 1168 (0x0490)
             50300,  // index  849, acCode 1169 (0x0491)
             11300,  // index  850, acCode 1170 (0x0492)
             50200,  // index  851, acCode 1171 (0x0493)
            114300,  // index  852, acCode 1172 (0x0494)
             75200,  // index  853, acCode 1173 (0x0495)
            114200,  // index  854, acCode 1174 (0x0496)
             75300,  // index  855, acCode 1175 (0x0497)
             12300,  // index  856, acCode 1176 (0x0498)
             49200,  // index  857, acCode 1177 (0x0499)
             12200,  // index  858, acCode 1178 (0x049A)
             49300,  // index  859, acCode 1179 (0x049B)
            113200,  // index  860, acCode 1180 (0x049C)
             76300,  // index  861, acCode 1181 (0x049D)
            113300,  // index  862, acCode 1182 (0x049E)
             76200,  // index  863, acCode 1183 (0x049F)
              7200,  // index  864, acCode 1184 (0x04A0)
             54300,  // index  865, acCode 1185 (0x04A1)
              7300,  // index  866, acCode 1186 (0x04A2)
             54200,  // index  867, acCode 1187 (0x04A3)
            118300,  // index  868, acCode 1188 (0x04A4)
             71200,  // index  869, acCode 1189 (0x04A5)
            118200,  // index  870, acCode 1190 (0x04A6)
             71300,  // index  871, acCode 1191 (0x04A7)
              8300,  // index  872, acCode 1192 (0x04A8)
             53200,  // index  873, acCode 1193 (0x04A9)
              8200,  // index  874, acCode 1194 (0x04AA)
             53300,  // index  875, acCode 1195 (0x04AB)
            117200,  // index  876, acCode 1196 (0x04AC)
             72300,  // index  877, acCode 1197 (0x04AD)
            117300,  // index  878, acCode 1198 (0x04AE)
             72200,  // index  879, acCode 1199 (0x04AF)
             10300,  // index  880, acCode 1200 (0x04B0)
             51200,  // index  881, acCode 1201 (0x04B1)
             10200,  // index  882, acCode 1202 (0x04B2)
             51300,  // index  883, acCode 1203 (0x04B3)
            115200,  // index  884, acCode 1204 (0x04B4)
             74300,  // index  885, acCode 1205 (0x04B5)
            115300,  // index  886, acCode 1206 (0x04B6)
             74200,  // index  887, acCode 1207 (0x04B7)
              9200,  // index  888, acCode 1208 (0x04B8)
             52300,  // index  889, acCode 1209 (0x04B9)
              9300,  // index  890, acCode 1210 (0x04BA)
             52200,  // index  891, acCode 1211 (0x04BB)
            116300,  // index  892, acCode 1212 (0x04BC)
             73200,  // index  893, acCode 1213 (0x04BD)
            116200,  // index  894, acCode 1214 (0x04BE)
             73300,  // index  895, acCode 1215 (0x04BF)
              -900,  // index  896, acCode 1280 (0x0500)
             62400,  // index  897, acCode 1281 (0x0501)
              -600,  // index  898, acCode 1282 (0x0502)
             62100,  // index  899, acCode 1283 (0x0503)
            126400,  // index  900, acCode 1284 (0x0504)
             63100,  // index  901, acCode 1285 (0x0505)
            126100,  // index  902, acCode 1286 (0x0506)
             63400,  // index  903, acCode 1287 (0x0507)
               400,  // index  904, acCode 1288 (0x0508)
             61100,  // index  905, acCode 1289 (0x0509)
               100,  // index  906, acCode 1290 (0x050A)
             61400,  // index  907, acCode 1291 (0x050B)
            125100,  // index  908, acCode 1292 (0x050C)
             64400,  // index  909, acCode 1293 (0x050D)
            125400,  // index  910, acCode 1294 (0x050E)
             64100,  // index  911, acCode 1295 (0x050F)
              2400,  // index  912, acCode 1296 (0x0510)
             59100,  // index  913, acCode 1297 (0x0511)
              2100,  // index  914, acCode 1298 (0x0512)
             59400,  // index  915, acCode 1299 (0x0513)
            123100,  // index  916, acCode 1300 (0x0514)
             66400,  // index  917, acCode 1301 (0x0515)
            123400,  // index  918, acCode 1302 (0x0516)
             66100,  // index  919, acCode 1303 (0x0517)
              1100,  // index  920, acCode 1304 (0x0518)
             60400,  // index  921, acCode 1305 (0x0519)
              1400,  // index  922, acCode 1306 (0x051A)
             60100,  // index  923, acCode 1307 (0x051B)
            124400,  // index  924, acCode 1308 (0x051C)
             65100,  // index  925, acCode 1309 (0x051D)
            124100,  // index  926, acCode 1310 (0x051E)
             65400,  // index  927, acCode 1311 (0x051F)
              6400,  // index  928, acCode 1312 (0x0520)
             55100,  // index  929, acCode 1313 (0x0521)
              6100,  // index  930, acCode 1314 (0x0522)
             55400,  // index  931, acCode 1315 (0x0523)
            119100,  // index  932, acCode 1316 (0x0524)
             70400,  // index  933, acCode 1317 (0x0525)
            119400,  // index  934, acCode 1318 (0x0526)
             70100,  // index  935, acCode 1319 (0x0527)
              5100,  // index  936, acCode 1320 (0x0528)
             56400,  // index  937, acCode 1321 (0x0529)
              5400,  // index  938, acCode 1322 (0x052A)
             56100,  // index  939, acCode 1323 (0x052B)
            120400,  // index  940, acCode 1324 (0x052C)
             69100,  // index  941, acCode 1325 (0x052D)
            120100,  // index  942, acCode 1326 (0x052E)
             69400,  // index  943, acCode 1327 (0x052F)
              3100,  // index  944, acCode 1328 (0x0530)
             58400,  // index  945, acCode 1329 (0x0531)
              3400,  // index  946, acCode 1330 (0x0532)
             58100,  // index  947, acCode 1331 (0x0533)
            122400,  // index  948, acCode 1332 (0x0534)
             67100,  // index  949, acCode 1333 (0x0535)
            122100,  // index  950, acCode 1334 (0x0536)
             67400,  // index  951, acCode 1335 (0x0537)
              4400,  // index  952, acCode 1336 (0x0538)
             57100,  // index  953, acCode 1337 (0x0539)
              4100,  // index  954, acCode 1338 (0x053A)
             57400,  // index  955, acCode 1339 (0x053B)
            121100,  // index  956, acCode 1340 (0x053C)
             68400,  // index  957, acCode 1341 (0x053D)
            121400,  // index  958, acCode 1342 (0x053E)
             68100,  // index  959, acCode 1343 (0x053F)
             14400,  // index  960, acCode 1408 (0x0580)
             47100,  // index  961, acCode 1409 (0x0581)
             14100,  // index  962, acCode 1410 (0x0582)
             47400,  // index  963, acCode 1411 (0x0583)
            111100,  // index  964, acCode 1412 (0x0584)
             78400,  // index  965, acCode 1413 (0x0585)
            111400,  // index  966, acCode 1414 (0x0586)
             78100,  // index  967, acCode 1415 (0x0587)
             13100,  // index  968, acCode 1416 (0x0588)
             48400,  // index  969, acCode 1417 (0x0589)
             13400,  // index  970, acCode 1418 (0x058A)
             48100,  // index  971, acCode 1419 (0x058B)
            112400,  // index  972, acCode 1420 (0x058C)
             77100,  // index  973, acCode 1421 (0x058D)
            112100,  // index  974, acCode 1422 (0x058E)
             77400,  // index  975, acCode 1423 (0x058F)
             11100,  // index  976, acCode 1424 (0x0590)
             50400,  // index  977, acCode 1425 (0x0591)
             11400,  // index  978, acCode 1426 (0x0592)
             50100,  // index  979, acCode 1427 (0x0593)
            114400,  // index  980, acCode 1428 (0x0594)
             75100,  // index  981, acCode 1429 (0x0595)
            114100,  // index  982, acCode 1430 (0x0596)
             75400,  // index  983, acCode 1431 (0x0597)
             12400,  // index  984, acCode 1432 (0x0598)
             49100,  // index  985, acCode 1433 (0x0599)
             12100,  // index  986, acCode 1434 (0x059A)
             49400,  // index  987, acCode 1435 (0x059B)
            113100,  // index  988, acCode 1436 (0x059C)
             76400,  // index  989, acCode 1437 (0x059D)
            113400,  // index  990, acCode 1438 (0x059E)
             76100,  // index  991, acCode 1439 (0x059F)
              7100,  // index  992, acCode 1440 (0x05A0)
             54400,  // index  993, acCode 1441 (0x05A1)
              7400,  // index  994, acCode 1442 (0x05A2)
             54100,  // index  995, acCode 1443 (0x05A3)
            118400,  // index  996, acCode 1444 (0x05A4)
             71100,  // index  997, acCode 1445 (0x05A5)
            118100,  // index  998, acCode 1446 (0x05A6)
             71400,  // index  999, acCode 1447 (0x05A7)
              8400,  // index 1000, acCode 1448 (0x05A8)
             53100,  // index 1001, acCode 1449 (0x05A9)
              8100,  // index 1002, acCode 1450 (0x05AA)
             53400,  // index 1003, acCode 1451 (0x05AB)
            117100,  // index 1004, acCode 1452 (0x05AC)
             72400,  // index 1005, acCode 1453 (0x05AD)
            117400,  // index 1006, acCode 1454 (0x05AE)
             72100,  // index 1007, acCode 1455 (0x05AF)
             10400,  // index 1008, acCode 1456 (0x05B0)
             51100,  // index 1009, acCode 1457 (0x05B1)
             10100,  // index 1010, acCode 1458 (0x05B2)
             51400,  // index 1011, acCode 1459 (0x05B3)
            115100,  // index 1012, acCode 1460 (0x05B4)
             74400,  // index 1013, acCode 1461 (0x05B5)
            115400,  // index 1014, acCode 1462 (0x05B6)
             74100,  // index 1015, acCode 1463 (0x05B7)
              9100,  // index 1016, acCode 1464 (0x05B8)
             52400,  // index 1017, acCode 1465 (0x05B9)
              9400,  // index 1018, acCode 1466 (0x05BA)
             52100,  // index 1019, acCode 1467 (0x05BB)
            116400,  // index 1020, acCode 1468 (0x05BC)
             73100,  // index 1021, acCode 1469 (0x05BD)
            116100,  // index 1022, acCode 1470 (0x05BE)
             73400,  // index 1023, acCode 1471 (0x05BF)
             30300,  // index 1024, acCode 1536 (0x0600)
             31200,  // index 1025, acCode 1537 (0x0601)
             30200,  // index 1026, acCode 1538 (0x0602)
             31300,  // index 1027, acCode 1539 (0x0603)
             95200,  // index 1028, acCode 1540 (0x0604)
             94300,  // index 1029, acCode 1541 (0x0605)
             95300,  // index 1030, acCode 1542 (0x0606)
             94200,  // index 1031, acCode 1543 (0x0607)
             29200,  // index 1032, acCode 1544 (0x0608)
             32300,  // index 1033, acCode 1545 (0x0609)
             29300,  // index 1034, acCode 1546 (0x060A)
             32200,  // index 1035, acCode 1547 (0x060B)
             96300,  // index 1036, acCode 1548 (0x060C)
             93200,  // index 1037, acCode 1549 (0x060D)
             96200,  // index 1038, acCode 1550 (0x060E)
             93300,  // index 1039, acCode 1551 (0x060F)
             27200,  // index 1040, acCode 1552 (0x0610)
             34300,  // index 1041, acCode 1553 (0x0611)
             27300,  // index 1042, acCode 1554 (0x0612)
             34200,  // index 1043, acCode 1555 (0x0613)
             98300,  // index 1044, acCode 1556 (0x0614)
             91200,  // index 1045, acCode 1557 (0x0615)
             98200,  // index 1046, acCode 1558 (0x0616)
             91300,  // index 1047, acCode 1559 (0x0617)
             28300,  // index 1048, acCode 1560 (0x0618)
             33200,  // index 1049, acCode 1561 (0x0619)
             28200,  // index 1050, acCode 1562 (0x061A)
             33300,  // index 1051, acCode 1563 (0x061B)
             97200,  // index 1052, acCode 1564 (0x061C)
             92300,  // index 1053, acCode 1565 (0x061D)
             97300,  // index 1054, acCode 1566 (0x061E)
             92200,  // index 1055, acCode 1567 (0x061F)
             23200,  // index 1056, acCode 1568 (0x0620)
             38300,  // index 1057, acCode 1569 (0x0621)
             23300,  // index 1058, acCode 1570 (0x0622)
             38200,  // index 1059, acCode 1571 (0x0623)
            102300,  // index 1060, acCode 1572 (0x0624)
             87200,  // index 1061, acCode 1573 (0x0625)
            102200,  // index 1062, acCode 1574 (0x0626)
             87300,  // index 1063, acCode 1575 (0x0627)
             24300,  // index 1064, acCode 1576 (0x0628)
             37200,  // index 1065, acCode 1577 (0x0629)
             24200,  // index 1066, acCode 1578 (0x062A)
             37300,  // index 1067, acCode 1579 (0x062B)
            101200,  // index 1068, acCode 1580 (0x062C)
             88300,  // index 1069, acCode 1581 (0x062D)
            101300,  // index 1070, acCode 1582 (0x062E)
             88200,  // index 1071, acCode 1583 (0x062F)
             26300,  // index 1072, acCode 1584 (0x0630)
             35200,  // index 1073, acCode 1585 (0x0631)
             26200,  // index 1074, acCode 1586 (0x0632)
             35300,  // index 1075, acCode 1587 (0x0633)
             99200,  // index 1076, acCode 1588 (0x0634)
             90300,  // index 1077, acCode 1589 (0x0635)
             99300,  // index 1078, acCode 1590 (0x0636)
             90200,  // index 1079, acCode 1591 (0x0637)
             25200,  // index 1080, acCode 1592 (0x0638)
             36300,  // index 1081, acCode 1593 (0x0639)
             25300,  // index 1082, acCode 1594 (0x063A)
             36200,  // index 1083, acCode 1595 (0x063B)
            100300,  // index 1084, acCode 1596 (0x063C)
             89200,  // index 1085, acCode 1597 (0x063D)
            100200,  // index 1086, acCode 1598 (0x063E)
             89300,  // index 1087, acCode 1599 (0x063F)
             15200,  // index 1088, acCode 1664 (0x0680)
             46300,  // index 1089, acCode 1665 (0x0681)
             15300,  // index 1090, acCode 1666 (0x0682)
             46200,  // index 1091, acCode 1667 (0x0683)
            110300,  // index 1092, acCode 1668 (0x0684)
             79200,  // index 1093, acCode 1669 (0x0685)
            110200,  // index 1094, acCode 1670 (0x0686)
             79300,  // index 1095, acCode 1671 (0x0687)
             16300,  // index 1096, acCode 1672 (0x0688)
             45200,  // index 1097, acCode 1673 (0x0689)
             16200,  // index 1098, acCode 1674 (0x068A)
             45300,  // index 1099, acCode 1675 (0x068B)
            109200,  // index 1100, acCode 1676 (0x068C)
             80300,  // index 1101, acCode 1677 (0x068D)
            109300,  // index 1102, acCode 1678 (0x068E)
             80200,  // index 1103, acCode 1679 (0x068F)
             18300,  // index 1104, acCode 1680 (0x0690)
             43200,  // index 1105, acCode 1681 (0x0691)
             18200,  // index 1106, acCode 1682 (0x0692)
             43300,  // index 1107, acCode 1683 (0x0693)
            107200,  // index 1108, acCode 1684 (0x0694)
             82300,  // index 1109, acCode 1685 (0x0695)
            107300,  // index 1110, acCode 1686 (0x0696)
             82200,  // index 1111, acCode 1687 (0x0697)
             17200,  // index 1112, acCode 1688 (0x0698)
             44300,  // index 1113, acCode 1689 (0x0699)
             17300,  // index 1114, acCode 1690 (0x069A)
             44200,  // index 1115, acCode 1691 (0x069B)
            108300,  // index 1116, acCode 1692 (0x069C)
             81200,  // index 1117, acCode 1693 (0x069D)
            108200,  // index 1118, acCode 1694 (0x069E)
             81300,  // index 1119, acCode 1695 (0x069F)
             22300,  // index 1120, acCode 1696 (0x06A0)
             39200,  // index 1121, acCode 1697 (0x06A1)
             22200,  // index 1122, acCode 1698 (0x06A2)
             39300,  // index 1123, acCode 1699 (0x06A3)
            103200,  // index 1124, acCode 1700 (0x06A4)
             86300,  // index 1125, acCode 1701 (0x06A5)
            103300,  // index 1126, acCode 1702 (0x06A6)
             86200,  // index 1127, acCode 1703 (0x06A7)
             21200,  // index 1128, acCode 1704 (0x06A8)
             40300,  // index 1129, acCode 1705 (0x06A9)
             21300,  // index 1130, acCode 1706 (0x06AA)
             40200,  // index 1131, acCode 1707 (0x06AB)
            104300,  // index 1132, acCode 1708 (0x06AC)
             85200,  // index 1133, acCode 1709 (0x06AD)
            104200,  // index 1134, acCode 1710 (0x06AE)
             85300,  // index 1135, acCode 1711 (0x06AF)
             19200,  // index 1136, acCode 1712 (0x06B0)
             42300,  // index 1137, acCode 1713 (0x06B1)
             19300,  // index 1138, acCode 1714 (0x06B2)
             42200,  // index 1139, acCode 1715 (0x06B3)
            106300,  // index 1140, acCode 1716 (0x06B4)
             83200,  // index 1141, acCode 1717 (0x06B5)
            106200,  // index 1142, acCode 1718 (0x06B6)
             83300,  // index 1143, acCode 1719 (0x06B7)
             20300,  // index 1144, acCode 1720 (0x06B8)
             41200,  // index 1145, acCode 1721 (0x06B9)
             20200,  // index 1146, acCode 1722 (0x06BA)
             41300,  // index 1147, acCode 1723 (0x06BB)
            105200,  // index 1148, acCode 1724 (0x06BC)
             84300,  // index 1149, acCode 1725 (0x06BD)
            105300,  // index 1150, acCode 1726 (0x06BE)
             84200,  // index 1151, acCode 1727 (0x06BF)
             30400,  // index 1152, acCode 1792 (0x0700)
             31100,  // index 1153, acCode 1793 (0x0701)
             30100,  // index 1154, acCode 1794 (0x0702)
             31400,  // index 1155, acCode 1795 (0x0703)
             95100,  // index 1156, acCode 1796 (0x0704)
             94400,  // index 1157, acCode 1797 (0x0705)
             95400,  // index 1158, acCode 1798 (0x0706)
             94100,  // index 1159, acCode 1799 (0x0707)
             29100,  // index 1160, acCode 1800 (0x0708)
             32400,  // index 1161, acCode 1801 (0x0709)
             29400,  // index 1162, acCode 1802 (0x070A)
             32100,  // index 1163, acCode 1803 (0x070B)
             96400,  // index 1164, acCode 1804 (0x070C)
             93100,  // index 1165, acCode 1805 (0x070D)
             96100,  // index 1166, acCode 1806 (0x070E)
             93400,  // index 1167, acCode 1807 (0x070F)
             27100,  // index 1168, acCode 1808 (0x0710)
             34400,  // index 1169, acCode 1809 (0x0711)
             27400,  // index 1170, acCode 1810 (0x0712)
             34100,  // index 1171, acCode 1811 (0x0713)
             98400,  // index 1172, acCode 1812 (0x0714)
             91100,  // index 1173, acCode 1813 (0x0715)
             98100,  // index 1174, acCode 1814 (0x0716)
             91400,  // index 1175, acCode 1815 (0x0717)
             28400,  // index 1176, acCode 1816 (0x0718)
             33100,  // index 1177, acCode 1817 (0x0719)
             28100,  // index 1178, acCode 1818 (0x071A)
             33400,  // index 1179, acCode 1819 (0x071B)
             97100,  // index 1180, acCode 1820 (0x071C)
             92400,  // index 1181, acCode 1821 (0x071D)
             97400,  // index 1182, acCode 1822 (0x071E)
             92100,  // index 1183, acCode 1823 (0x071F)
             23100,  // index 1184, acCode 1824 (0x0720)
             38400,  // index 1185, acCode 1825 (0x0721)
             23400,  // index 1186, acCode 1826 (0x0722)
             38100,  // index 1187, acCode 1827 (0x0723)
            102400,  // index 1188, acCode 1828 (0x0724)
             87100,  // index 1189, acCode 1829 (0x0725)
            102100,  // index 1190, acCode 1830 (0x0726)
             87400,  // index 1191, acCode 1831 (0x0727)
             24400,  // index 1192, acCode 1832 (0x0728)
             37100,  // index 1193, acCode 1833 (0x0729)
             24100,  // index 1194, acCode 1834 (0x072A)
             37400,  // index 1195, acCode 1835 (0x072B)
            101100,  // index 1196, acCode 1836 (0x072C)
             88400,  // index 1197, acCode 1837 (0x072D)
            101400,  // index 1198, acCode 1838 (0x072E)
             88100,  // index 1199, acCode 1839 (0x072F)
             26400,  // index 1200, acCode 1840 (0x0730)
             35100,  // index 1201, acCode 1841 (0x0731)
             26100,  // index 1202, acCode 1842 (0x0732)
             35400,  // index 1203, acCode 1843 (0x0733)
             99100,  // index 1204, acCode 1844 (0x0734)
             90400,  // index 1205, acCode 1845 (0x0735)
             99400,  // index 1206, acCode 1846 (0x0736)
             90100,  // index 1207, acCode 1847 (0x0737)
             25100,  // index 1208, acCode 1848 (0x0738)
             36400,  // index 1209, acCode 1849 (0x0739)
             25400,  // index 1210, acCode 1850 (0x073A)
             36100,  // index 1211, acCode 1851 (0x073B)
            100400,  // index 1212, acCode 1852 (0x073C)
             89100,  // index 1213, acCode 1853 (0x073D)
            100100,  // index 1214, acCode 1854 (0x073E)
             89400,  // index 1215, acCode 1855 (0x073F)
             15100,  // index 1216, acCode 1920 (0x0780)
             46400,  // index 1217, acCode 1921 (0x0781)
             15400,  // index 1218, acCode 1922 (0x0782)
             46100,  // index 1219, acCode 1923 (0x0783)
            110400,  // index 1220, acCode 1924 (0x0784)
             79100,  // index 1221, acCode 1925 (0x0785)
            110100,  // index 1222, acCode 1926 (0x0786)
             79400,  // index 1223, acCode 1927 (0x0787)
             16400,  // index 1224, acCode 1928 (0x0788)
             45100,  // index 1225, acCode 1929 (0x0789)
             16100,  // index 1226, acCode 1930 (0x078A)
             45400,  // index 1227, acCode 1931 (0x078B)
            109100,  // index 1228, acCode 1932 (0x078C)
             80400,  // index 1229, acCode 1933 (0x078D)
            109400,  // index 1230, acCode 1934 (0x078E)
             80100,  // index 1231, acCode 1935 (0x078F)
             18400,  // index 1232, acCode 1936 (0x0790)
             43100,  // index 1233, acCode 1937 (0x0791)
             18100,  // index 1234, acCode 1938 (0x0792)
             43400,  // index 1235, acCode 1939 (0x0793)
            107100,  // index 1236, acCode 1940 (0x0794)
             82400,  // index 1237, acCode 1941 (0x0795)
            107400,  // index 1238, acCode 1942 (0x0796)
             82100,  // index 1239, acCode 1943 (0x0797)
             17100,  // index 1240, acCode 1944 (0x0798)
             44400,  // index 1241, acCode 1945 (0x0799)
             17400,  // index 1242, acCode 1946 (0x079A)
             44100,  // index 1243, acCode 1947 (0x079B)
            108400,  // index 1244, acCode 1948 (0x079C)
             81100,  // index 1245, acCode 1949 (0x079D)
            108100,  // index 1246, acCode 1950 (0x079E)
             81400,  // index 1247, acCode 1951 (0x079F)
             22400,  // index 1248, acCode 1952 (0x07A0)
             39100,  // index 1249, acCode 1953 (0x07A1)
             22100,  // index 1250, acCode 1954 (0x07A2)
             39400,  // index 1251, acCode 1955 (0x07A3)
            103100,  // index 1252, acCode 1956 (0x07A4)
             86400,  // index 1253, acCode 1957 (0x07A5)
            103400,  // index 1254, acCode 1958 (0x07A6)
             86100,  // index 1255, acCode 1959 (0x07A7)
             21100,  // index 1256, acCode 1960 (0x07A8)
             40400,  // index 1257, acCode 1961 (0x07A9)
             21400,  // index 1258, acCode 1962 (0x07AA)
             40100,  // index 1259, acCode 1963 (0x07AB)
            104400,  // index 1260, acCode 1964 (0x07AC)
             85100,  // index 1261, acCode 1965 (0x07AD)
            104100,  // index 1262, acCode 1966 (0x07AE)
             85400,  // index 1263, acCode 1967 (0x07AF)
             19100,  // index 1264, acCode 1968 (0x07B0)
             42400,  // index 1265, acCode 1969 (0x07B1)
             19400,  // index 1266, acCode 1970 (0x07B2)
             42100,  // index 1267, acCode 1971 (0x07B3)
            106400,  // index 1268, acCode 1972 (0x07B4)
             83100,  // index 1269, acCode 1973 (0x07B5)
            106100,  // index 1270, acCode 1974 (0x07B6)
             83400,  // index 1271, acCode 1975 (0x07B7)
             20400,  // index 1272, acCode 1976 (0x07B8)
             41100,  // index 1273, acCode 1977 (0x07B9)
             20100,  // index 1274, acCode 1978 (0x07BA)
             41400,  // index 1275, acCode 1979 (0x07BB)
            105100,  // index 1276, acCode 1980 (0x07BC)
             84400,  // index 1277, acCode 1981 (0x07BD)
            105400,  // index 1278, acCode 1982 (0x07BE)
             84100,  // index 1279, acCode 1983 (0x07BF)
        };
    }
}
